#include<iostream>
#include<set>
#include<cstring>
using namespace std;
const int N = 1e4 + 10;
set<pair<int, int>> st;
int f[N];
int main()
{
    int n, i, h, r;
    cin >> n >> i >> h >> r;
    for (int i = 1; i <= r; i++)
    {
        int a ,b; cin >> a >> b;
        if (a > b) swap(a, b);
        if (st.count({a, b})) continue;
        // 接下来就是差分数组
        f[a + 1]--;
        f[b]++;
        // 该死，竟然忘记插入了
        st.emplace(a, b);
    }
    for (int i = 1; i <= n; i++)
    {
        f[i] += f[i - 1];
        // zdl:: 实现了最开始将这个数组初始化为h的作用
        cout << h + f[i] << endl;
    }
    return 0;
}